/**
 * Created by zcy-fover on 2017/3/11.
 * 关于XMLHttpRequest()方法中，open()方法的使用
 */

function getNewContent() {
    var request = getHTTPObject();
    if (request){
        //open方法指定将要访问服务器的请求的类型，有GET、POST、SEND，
        //open()的第三个参数是请求是否开启异步请求
        request.open('GET', 'example.txt', true);
        //onreadystatechange是一个事件处理函数他会在服务器给XMLHttpRequest
        //对象发送相应的时候被触发执行。
        //在为onreadystatechange指定函数引用时，不要在函数名后面加括号，
        //加括号表示立即调用函数，在此我们只是把函数自身的引用（不是函数结果）赋值给
        //onreadystatechange属性
        request.onreadystatechange = function () {
            /**
             * readyState属性共有5个可能的值：
             *      0：表示未初始化
             *      1：表示正在加载
             *      2：表示加载完毕
             *      3：表示正在交互
             *      4：表示完成
             */
            if (request.readyState == 4){
                var param = document.createElement('p');
                /**
                 * 访问服务器返回的数据有两个属性：
                 *      responseText：用于保存文本字符串形式的数据
                 *      responseXML：用于保存Content-type头部中指定为"text/html"的数据，
                 *                  其实是一个DocumentFragment
                 * @type {Text}
                 */
                var text = document.createTextNode(request.responseText);
                param.appendChild(text);
                document.getElementById('new').appendChild(param);
            }
        };
        request.send();
    } else {
        alert('对不起，您的浏览器不支持XMLHTTP');
    }
}

//将getNewContent()函数加入到起动即执行
addLoadEvent(getNewContent);